1. Field of the Invention
The present invention relates to a wireless application protocol, and more particularly, to a method of processing data to transmit in a wireless application protocol for wireless applications using Unstructured Supplementary Service Data (USSD).
2. Description of the Related Art
The worldwide market for mobile telecommunication terminals, which provide convenient communication, is rapidly expanding. The technological era of mobile telecommunication terminals which began with analogue cellular phones has seen the introduction of digital cellular phones, and now, personal communications services (PCS) phones. In line with the development of mobile telecommunications technologies, it has become possible to access data networks such as the Internet via a mobile telecommunications terminal. Accordingly, diverse wireless application services, such as Internet content services and voice services are now being offered by mobile telecommunications networks.
Due to the characteristics of devices, however, mobile telecommunications terminals have many limitations in available resources, for example due to power supply capacity, the size and visibility of a display, transmission rate, and capacities of a processor and a memory. Therefore, compared to a protocol supporting access to the Internet via a computer for using web services, protocols supporting use of diverse wireless application services from a mobile telecommunications terminal are designed in relatively simple form, considering the limited resources of the mobile telecommunications terminal.
Among protocols which have been standardized or are being standardized in order to support the use of wireless application services via a mobile telecommunications terminal, one of the leading protocols is Wireless Application Protocol (WAP) proposed by WAP Forum.
WAP has a configuration similar to that of the protocol used for computers. For example, WAP uses a Wireless Markup Language (WML) in the presentation layer, a substitution for a HyperText Markup Language (HTML), and a Wireless Session Protocol (WSP) in the session layer, similar to a HyperText Transfer Protocol (HTTP). WAP uses a Wireless Transport Protocol (WTP) which is an integration of a Transport Control Protocol (TCP) and an Internet Protocol (IP), or a Wireless Datagram Protocol (WDP) which is an integration of a User Datagram Protocol (UDP) and the IP, in its transport and network layer.
Contrary to other bearers applied to the WAP, however, if the Global System for Mobile Communication (GSM) USSD is used as a lower bearer, the WAP must include an additional layer. That is, a USSD Dialogue Control Protocol (UDCP) layer is used as a WAP adaptation layer. FIG. 1 is a schematic diagram showing the protocol stack of the WAP 100 when the GSM USSD is used as a lower bearer.
Included in FIG. 1 is a Wireless Application Environment (WAE) layer 110, which provides an integrated wireless application environment independent of the kinds of network or lower bearer. The WAE includes a WML which is a display language, a WML script which is a script language, and a Wireless Telephone services application program interface and Architecture (WTA) which is an application program interface for call services. A WSP layer 120 provides session services to upper layers and is primarily based on the HTTP.
A WTP layer 130, which is a transport layer for wireless application services, plays the roles of existing TCP(UDP)/IP and Point-to-Point Protocol (PPP) to ensure independency of the kinds of underlying network. The WDP layer 140 is a kind of WTP using a datagram (also called WTP/D), and provides a connection-less, unreliable data service method.
A UDCP layer 150 is an adaptation layer used to control an additional USSD dialogue for a lower GSM USSD 160 bearer. The USSD layer 160 supports transmission of text between mobile telecommunications terminals through wireless telecommunications networks, and is used for a variety of supplementary services which are not defined in the GSM specification.
The GSM specification is one of the standard specifications for wireless communications in digital cellular mobile telecommunications networks. The GSM specification is based on a Time Division Multiple Access (TDMA) technique, and is mainly used in the U.S. and European countries. Meanwhile, mobile telecommunications services in Korea are provided through a Code Division Multiple Access (CDMA) technique instead of the GSM.
The packet structure in each layer will now be described by focusing on the WDP and UDCP layers. FIG. 2 is a schematic diagram showing the packet structure, that is, a Protocol Data Unit (PDU), in the WDP and UDCP layers in WAP""s protocol stack for the GSM USSD of FIG. 1.
As illustrated in FIG. 2, user data 200 in an upper layer, for example the WSP layer, is encapsulated without any change into a data field 200a in a PDU 210 of the WDP layer, and then added to a WDP header which is an information element (IE) having information about the user data field 200a, forming an entire PDU 210 of the WDP layer. In FIG. 2, the IE includes an IE_PORT field 212 which has information on a port, which is an access point to the WDP layer from the upper layer, and an IE_SAR field 214 which has information on Segmentation And Reassembly (SAR).
SAR is a technique of segmenting the data received from an upper layer and then forwarding the segmented data, or reassembling received segmented data and then passing the reassembled data to an upper layer when the size of data that can be transmitted through a lower telecommunications network is limited.
Next, the PDU 210 of the WDP layer is encapsulated unchanged into a user data field 210a in the PDU 220 of the UDCP layer, and then a UDCP header is added thereto to form a UDCP PDU 220. The UDCP header includes an IE_UDCP field 226 which has dialogue control information, an UDH_LEN field 224 which has information on the length of a user data header, and a TOT_LEN field 222 which has information on the length of the UDCP PDU 220 in the UDCP layer. In FIG. 2, the user data header includes the IE_UDCP field 226, and the IE_PORT field 212 and the IE_SAR field 214 which are included in the WDP layer.
The protocol operation in the WDP and UDCP layers according to the conventional WAP will now be described focusing on the aspect of memory management. FIG. 3 is a schematic diagram showing the protocol operation in WDP and UDCP layers in wireless application protocols for wireless application services using the existing USSD, from the viewpoint of memory management.
As illustrated in FIG. 3, when user data 301 and 302 of an upper layer passed down to the WDP layer along the WAP protocol stack, the WDP layer sequentially stores data 301a and 302a in a WDP buffer 310, adds WDP headers to the user data, and then passes data with headers, 311 and 312, to the UDCP layer. If the size of the user data 301a and 302a stored in the WDP buffer 310 is bigger than that of a transmission unit of the lower telecommunication network USSD, the WDP layer adds a WDP header to each segment after carrying out the SAR.
The UDCP layer sequentially stores the data 311 and 312 transferred from the WDP layer in a UDCP buffer 320 and transmits the data 321 and 322, to which the UDCP headers have been added, from storage in a UDCP buffer 320 through the USSD layer to a destination node at an appropriate point in time, that is, when a dialogue control is set up.
Because the WAP is a protocol that supports wireless application services using a mobile telecommunications terminal, the WAP needs to be designed to minimize memory use in consideration of limited resources of the mobile telecommunication terminal.
In conventional methods, however, when a lower bearer is the USSD, additional memory is needed in the UDCP layer in addition to that of the WDP layer, because of a separate UDCP adaptation layer for the USSD dialogue control. Particularly when the SAR is performed, WDP and UDCP layers assign memory to each segment. Therefore, in this way memory is wasted, which lowers resource efficiency of a mobile telecommunications terminal having limited resources.
Furthermore, as WDP and UDCP layers manage their respective buffers, he memory management becomes complicated, and with duplicated buffer management routines, the length of program code in a mobile telecommunications terminal becomes longer.
To solve the above problems, it is an objective of the present invention to provide a method, for processing data for wireless applications using Unstructured Supplementary Service Data (USSD), in which a memory of a Wireless Datagram Protocol (WDP) and of a USSD Dialogue Control Protocol (UDCP) layer, that is, an adaptation layer for the USSD bearer, are integrated into one to increase the efficiency of the limited resources in a mobile telecommunications terminal and of a computer readable medium storing a program therefor.
According to a first embodiment of the present invention, there is provided a method, for processing data for wireless applications using Unstructured Supplementary Service Data (USSD), which has the steps of: (a) receiving transmission data from an upper layer in a Wireless Datagram Protocol (WDP) layer; (b) storing the data received in the step (a) in a common buffer, where the common buffer is commonly used by the WDP layer and a USSD Dialogue Control Protocol (UDCP) layer; and (c) forming a transmission packet using the data stored in the common buffer in the UDCP layer and then transmitting the packet through the USSD.
According to a second embodiment of the present invention, there is provided a method, for processing data for wireless applications using Unstructured Supplementary Service Data (USSD), which has the steps of: (a) checking in a USSD Dialogue Control Protocol (UDCP) layer the state of a dialogue for data communications through the USSD with a destination node when data for transmitting through the USSD is stored in a common buffer commonly used by a Wireless Datagram Protocol (WDP) layer and the UDCP layer; (b) reading the data stored in the common buffer if, in the step (a), the state of dialogue is verified to be a state in which the transmission of data can be performed, and then forming a packet; and (c) transmitting the packet formed in the step (b) through the USSD to a destination node.
According to a third embodiment of the present invention, there is provided a method, for processing data for wireless applications using Unstructured Supplementary Service Data (USSD), which has the steps of: (a) receiving transmission data from an upper layer in a Wireless Datagram Protocol (WDP) layer; (b) storing the data received in the step (a) in a common buffer commonly used by the WDP layer and a USSD Dialogue Control Protocol (UDCP) layer, and then transferring control to the UDCP layer; (c) reading the data stored in the common buffer if dialogue is in a state in which the transmission of data can be performed, when checking in the UDCP layer a dialogue state for data communications through the USSD with a destination node, and then forming a packet; and (d) transmitting the packet formed in the step (c) through the USSD.
Preferably in the step (c), WDP and UDCP headers are added to the data read from the common buffer to form the packet.
Preferably in the step (c), an amount of data equal to the size of a USSD transmission unit, which is the size of the user data which can be transmitted in a packet through the USSD excluding the WDP header and the UDCP header, is extracted from the data stored in the common buffer to form a packet if the size of the data stored in the common buffer is bigger than a USSD transmission unit.
According to a fourth embodiment of the present invention, there is provided on a computer readable medium a recorded program which can be executed in a computer for processing data for wireless applications using Unstructured Supplementary Service Data (USSD), the program having the steps of: (a) receiving transmission data from a layer above the Wireless Datagram Protocol (WDP) layer; (b) storing the data received in the step (a) into a common buffer commonly used by the WDP layer and a USSD Dialogue Control Protocol (UDCP) layer; and (c) forming a transmission packet using the data stored in the common buffer and then transmitting the packets through the USSD.
According to a fifth embodiment of the present invention, there is provided on a computer readable medium a recorded program which can be executed in a computer for processing data for wireless applications using Unstructured Supplementary Service Data (USSD), the program having the steps of: (a) checking the state of a dialogue for data communications through the USSD with a destination node when data to be transmitted through the USSD is stored in a common buffer commonly used by a Wireless Datagram Protocol (WDP) layer and the UDCP layer; (b) reading the data stored in the common buffer if, in the step (a), the state of the dialogue is verified to be a state in which the transmission of data can be performed, and then forming a packet; and (c) transmitting the packet formed in the step (b) through the USSD to a destination node.
According to a sixth embodiment of the present invention, there is provided on a computer readable medium a recorded program which can be executed in a computer for processing data for wireless applications using the Unstructured Supplementary Service Data (USSD), the program having the steps of: (a) receiving transmission data from a layer above the Wireless Datagram Protocol (WDP) layer; (b) storing the data received in the step (a) into a common buffer, in which the common buffer is commonly used by the WDP layer and a USSD Dialogue Control Protocol (UDCP) layer; (c) reading the data stored in the common buffer if the dialogue is in a state in which transmission of data can be performed for data communications through the USSD with a destination node, and then forming a packet; and (d) transmitting the packet formed in the step (c) through the USSD.
Preferably in the step (c), WDP and UDCP headers are added to the data read from the common buffer to form the packet.
Preferably in the step (c), an amount of data equal to the size of a USSD transmission unit, which is the size of the user data which can be transmitted in a packet through the USSD excluding the WDP header and the UDCP header, is extracted from the data stored in the common buffer to form a packet if the size of the data stored in the common buffer is bigger than a USSD transmission unit.